/**
 * 图片URL处理工具
 * 用于处理不同存储平台的图片URL
 */

/**
 * 获取完整的图片URL
 * @param url 图片地址（可能是完整URL或相对路径）
 * @returns 完整的图片URL
 */
export function getImageUrl(url: string | undefined | null): string {
  // 如果URL为空，返回空字符串
  if (!url) {
    return ''
  }

  // 如果URL已经是完整的HTTP/HTTPS地址，直接返回（腾讯云、七牛云、阿里云等）
  if (url.startsWith('http://') || url.startsWith('https://')) {
    return url
  }

  // 如果是相对路径（本地存储），拼接后端API地址
  const baseURL = import.meta.env.VITE_APP_BASE_API || '/api'
  
  // 确保路径正确拼接
  if (url.startsWith('/')) {
    return `${window.location.origin}${url}`
  }
  
  return `${window.location.origin}${baseURL}${url.startsWith('/') ? url : '/' + url}`
}

/**
 * 批量处理图片URL
 * @param urls 图片地址数组
 * @returns 处理后的图片URL数组
 */
export function getImageUrls(urls: string[] | undefined | null): string[] {
  if (!urls || !Array.isArray(urls)) {
    return []
  }
  return urls.map(url => getImageUrl(url))
}

/**
 * 判断是否为外部URL（云存储）
 * @param url 图片地址
 * @returns 是否为外部URL
 */
export function isExternalUrl(url: string | undefined | null): boolean {
  if (!url) return false
  return url.startsWith('http://') || url.startsWith('https://')
}

/**
 * 判断是否为本地存储路径
 * @param url 图片地址
 * @returns 是否为本地存储
 */
export function isLocalUrl(url: string | undefined | null): boolean {
  if (!url) return false
  return !isExternalUrl(url)
}

